﻿
using Test30.Core;

namespace Test30.Engine
{
    public interface IFeatureWriter
    {
        Rect Bounds { get; }
        Content Content { get; }

        bool IsOpen(Rect rect, Vec? exception);
        void SetTile(Vec pos, TileType type);
        void SetDirty(Vec pos, bool dirty);
        void SetStartPos(Vec pos);
        void LightRect(Rect bounds, int depth);
        void AddEntity(Entity entity,int depth);

        TileType GetTile(Vec pos);
        TileType GetTile(int x, int y);
        bool GetDirty(Vec pos);
        FeatureCreepGeneratorOptions Options { get; }

        void Populate(Vec pos, int monsterDensity, int itemDensity, int depth);
    }
}
